\section{Proceso KDD}
\subsection{Análisis previo}
Antes de meternos en profundidad en el proceso de KDD que se ha llevado a cabo, vamos a ver el análisis previo que se realizó para poder entender un poco más el tema y la resolución del trabajo.

\subsubsection{Estado del Arte}
Hace 3 meses se publicó en la revista ``Accident Analysis \& Prevention''  un estudio realizado en Granada sobre accidentes de tráfico. El estudio analiza 3229 accidentes producidos en las carreteras de de la provincia de Granada de dos carriles utilizando un total de 18 atributos. El estudio es muy parecido al que nos ocupa, salvo que en este estudio pretende identificar las variables que más afectan a la gravedad de un accidente. Nosotros pretendemos utilizar esas variables importantes en un accidente de tráfico para prever una posible situación de peligro de accidente.

El estudio mencionado anteriormente obtuvo como resultado cuatro clusters en los que se podía dividir el conjunto de accidentes, en relación con la tipología del accidente, el número de vehículos involucrados, los ocupantes del vehículo, el tamaño del arcén y existencia de pavimentación en el mismo.\\

Sobre la base de datos original (BDO), así como sobre cada uno de los `clusters' definidos, los investigadores de la UGR identificaron las variables que afectan a la severidad del accidente. Los resultados muestran que en todos los casos (BDO y 4 clusters) existe una relación directa entre la severidad del accidente y las siguientes variables: mes, hora, número de heridos, tipo de accidente, causa, edad, sexo, ancho de calzada, tipo de arcén, marcas viales y visibilidad.

Pero además, se muestran relaciones específicas en los `clusters' que no aparecen cuando se analiza únicamente la base de datos original, tales como la relación directa entre la severidad y las condiciones atmosféricas, la presencia del arcén pavimentado y el número de vehículos involucrados en el accidente.

\subsubsection{Inconvenientes}
El primer paso al que nos tuvimos que enfrentar fue el de entender como estaba diseñado el dataset. Al principio parecía un dataset claro y sencillo, pero una vez inmersos en el proceso de KDD descubrimos que no era un dataset sencillo de entender.\\

Cada entrada tiene una serie de columnas, que representan los atributos de cada accidente, que varían en número dependiendo de la entrada. No hay un número fijo de columnas, lo que hace más difícil el entendimiento del dataset.\\

Una vez que conseguimos averiguar el significado de cada número (el número equivale a un tipo de un atributo, pero son acumulativos, lo que significa que que un 4 en la segunda columna no equivale al tipo 4 del segundo atributo, sino al tipo 4 del total de tipos de atributos), tuvimos que reducir el conjunto de atributos del dataset y a la vez reorganizar los valores de las columnas para que fueran más fáciles de leer.

Otro inconveniente al que tuvimos que hacer frente fue el de rellenar los atributos en blanco. Al tener cada entrada un número variable de atributos nos encontramos con que hay atributos importantes que no tienen valor ninguno, estaban en blanco.
\pagebreak[4]
\subsubsection{Hipótesis inicial}
A lo largo del presente trabajo se pretende exponer de manera sencilla los pasos que habría que seguir (aplicando un proceso de KDD) para obtener, a partir de una base de datos llena de accidentes de tráfico cada uno con sus propias variables y atributos, un sistema que sea capaz de, dadas una serie de premisas, decidir si se cumplen las condiciones de peligro necesarias para encontrarnos en una situación de peligro de accidente.

\subsection{KDD}
Tras el análisis previo y la hipótesis inicial, comienza el proceso de KDD. En cada subsección se detallarán y explicarán los procesos llevados a cabo para llegar al conocimiento final buscado en la aplicación.

\subsubsection{Selección}
La base de datos objetivo tiene una enorme cantidad de atributos para caracterizar los accidentes de tráfico registrados con gran precisión. Incluyen el tipo de carretera en qué ocurrió, en qué momento del día, las condiciones de visibilidad\ldots También contiene multitud de atributos sobre los individuos involucrados y los daños finales.\\

Sin embargo, esta cantidad de atributos entra en conflicto con el objetivo del sistema: sólo buscamos \emph{conocimiento para predecir futuros accidentes de tráfico} dadas ciertas condiciones, por lo que atributos como los muertos finales, sus edades, etc. no son relevantes en la predicción; sólo son útiles para la evaluación de daños.\\

En la selección eliminamos, por tanto, todo atributo no útil para predicción, seleccionando como finales (véase Figura 1).
\begin{figure}[!hb]
\begin{center}\label{fig:sel}
\includegraphics[scale=0.95]{images/SelecFinal-crop}
\end{center}\caption{Atributos seleccionados para predicción.}
\end{figure}

\subsubsection{Preproceso}
Ya se tiene el subconjunto de atributos (los más significativos) que se utilizará para extraer conocimiento. Sin embargo, no todos están recogidos en todos las muestras (tuplas en la base de datos) que proporciona la base de datos, y algunos pueden ser erróneos o presentar ruido.\\

Por otra parte, los datos no se proporcionan de forma uniforme, correspondiendo cada columna de la tabla a la información del atributo $i$, sino que se dan en cada tupla una serie de valores de forma continua, y ese número representa si tiene o no el atributo correspondiente a ese número (ver documentación proporcionada con la base de datos).\\

En esta etapa se creará una nueva tabla con un número $x$ de columnas igual al número de atributos seleccionados, almacenando en cada una si ese atributo intervino o no en el accidente. Sobre los valores perdidos o no existentes, se les dará valor 0 indicando que no intervino. Dado que los valores almacenados serán dicotómicos --0 ó 1-, cualquier valor por debajo o por encima de ellos se corregirá dándole el valor límite correspondiente.

\subsubsection{Transformación}
En esta etapa buscamos representar la información de forma más útil y simple para extraer conocimiento, así como reducir el número de atributos (si es posible) mediante métodos de transformación o reducción de la dimensionalidad de ciertos atributos.\\

En nuestro caso, se observa que ciertos atributos conforman una única propiedad o factor determinante en el accidente. Por ejemplo, tenemos cinco atributos llamados: \emph{age road user 0\_17, age road user 18\_29, age road user 30\_45, age road user 46\_60 y age road user over60}; estos atributos en realidad representan un único factor determinante: la edad del conductor. Se encuentran más atributos que cumplen esta regla.\\
Lo que se hará en la etapa de transformación con estos atributos será, por tanto, fusionarlos en un único atributo edad del conductor, y codificar cada uno como un valor perteneciente a un rango.

\begin{table}[!hbt]
\begin{center}
\begin{tabular}{|c|c|c|c|c|}
\hline
\head{age 0\_17} & \head{age 18\_29} & \head{age 30\_45} & \head{age 46\_60} & \head{age $>$ 60} \\
\hline
0 & 0 & 1 & 0 & 0 \\
\hline
\end{tabular}
\end{center}
\end{table}
Se codificará el atributo final age road user con un valor $x \in [0, 4]$, siendo el primer campo age 0\_17 el 0 y age $>$ 60 el 4.

El resultado sería:
\begin{table}[!hbt]
\begin{center}
\begin{tabular}{|c|}
\hline
\head{age road user} \\
\hline
2 \\
\hline
\end{tabular}
\end{center}
\end{table}

El resultado final de la transformación se ilustra en la siguiente figura (véase Figura 2).
\begin{figure}[!hbt]
\begin{center}\label{fig:tran}
\includegraphics[scale=1]{images/TransFinal-crop.pdf}
\end{center}\caption{Resultado de la etapa de transformación. Atributos finales y su codificación.}
\end{figure}

\subsubsection{Minería de Datos}
En la etapa de Data Mining se planteó en primer lugar utilizar algunos algoritmos de árbol de decisión como ID3 o C4.5 para observar si con un número reducido de atributos podrían clasificarse caso. Sin embargo, son muchos los valores que influyen y el árbol era inviable incluso con poda.\\

Se vio que lo más acertado era utilizar algoritmos de agrupamiento o clustering. Se ha utilizado el algoritmo K-Means, con k=3. Se han obtenido 3 clusters diferenciados que presentan altas probabilidades de accidente de tráfico:
\begin{enumerate}
\item \textbf{\underline{Cluster 1}}: El cluster primero se caracteriza por presentar situaciones en las que intervienen la lluvia intensa o la niebla, sobre todo en casos de poca o ninguna luz ambiental (tarde-noche), en tramos de curva, con poca señalización. En casos de lluvia intensa, incrementa el riesgo la presencia de `acuaplaning'.

\item \textbf{\underline{Cluster 2}}: El segundo cluster lo componen casos en los que el vehículo transita carreteras de un sólo carril en mal estado, o carreteras secundarias, `invadiendo' el otro carril o yendo en dirección opuesta, pudiendo provocarse por deslumbramiento o embriaguez.

\item \textbf{\underline{Cluster 3}}: El tercer cluster lo componen accidentes caracterizados por ocurrir en cruces, salidas de tuneles o zonas de obras, sin contar con la correcta señalización y/o regulación de tráfico, pudiendo influir además el deslumbramiento a la salida del tunel o la mala aderencia de la carretera, por gravilla por ejemplo, en las zonas de obra.

\end{enumerate}
\begin{figure}[!hbt]
\begin{center}\label{clu:clu}
\includegraphics[scale=0.8]{images/clusters}
\end{center}\caption{Clusters obtenidos.}
\end{figure}

\begin{figure}[!hbt]
\begin{center}\label{clu:uno}
\includegraphics[scale=1]{images/1}
\end{center}\caption{Atributos significativos del cluster uno.}
\end{figure}

\begin{figure}[!hbt]
\begin{center}\label{clu:dos}
\includegraphics[scale=1]{images/2}
\end{center}\caption{Atributos significativos del cluster dos.}
\end{figure}

\begin{figure}[!hbt]
\begin{center}\label{clu:tres}
\includegraphics[scale=1]{images/3}
\end{center}\caption{Atributos significativos del cluster tres.}
\end{figure}


\subsubsection{Interpretación/Evaluación}
Según los resultados obtenidos en el proceso de Data Mining, podemos sacar en claro que tanto las condiciones climatológicas como el estado de las carreteras son determinantes a la hora de producirse un accidente. Este riesgo aumenta considerablemente si además se da el caso de mala o poca luminosidad, como si se produce deslumbramiento.\\

Otros factores importantes son la señalización y/o regulación del tráfico que en algunos casos puede ser la razón de accidente.\\

Como se podría pensar en un principio, la edad del conductor no es tan relevante en comparación a los anteriores mencionados.
